log-dirty: add new paging_mark_gfn_dirty
authorKai Huang <kai.huang@linux.intel.com>
Mon, 4 May 2015 10:10:41 +0000 (12:10 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 4 May 2015 10:10:41 +0000 (12:10 +0200)
commit33db5c0bacbece3769a619161e133ebfb9378230
treef2284023807814adc523d2e33187b710724bded8
parentb83bf83c12bcbbd76688195048fa65e61d4b4197
log-dirty: add new paging_mark_gfn_dirty

PML logs GPA in PML buffer. Original paging_mark_dirty takes MFN as parameter
but it gets guest pfn internally and use guest pfn to as index for looking up
radix log-dirty tree. In flushing PML buffer, calling paging_mark_dirty directly
introduces redundant p2m lookups (gfn->mfn->gfn), therefore we introduce
paging_mark_gfn_dirty which is bulk of paging_mark_dirty but takes guest pfn as
parameter, and in flushing PML buffer we call paging_mark_gfn_dirty directly.
Original paging_mark_dirty then simply is a wrapper of paging_mark_gfn_dirty.

Signed-off-by: Kai Huang <kai.huang@linux.intel.com>
Acked-by: Tim Deegan <tim@xen.org>
xen/arch/x86/mm/paging.c
xen/include/asm-x86/paging.h